package co.edu.javeriana.konigsberg.xavier.dao;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityTransaction;

import co.edu.javeriana.konigsberg.xavier.dao.desc.DepartamentoDAOLocal;
import co.edu.javeriana.konigsberg.xavier.entidad.Departamento;

@Stateless
public class DepartamentoDAO extends DAO<Departamento> implements DepartamentoDAOLocal{
	private static final long serialVersionUID = 1L;

	@Override
	@SuppressWarnings("unchecked")
	public List<Departamento> obtenerListaPorPadre(BigInteger idPais){
	    return (List<Departamento>) em.createNamedQuery("Departamento.findByParent").setParameter("idPais", idPais).getResultList();
	    
	}
	
	@Override
	@SuppressWarnings("unchecked")
	public List<Departamento> obtenerLista(){
	    return (List<Departamento>) em.createNamedQuery("Departamento.findAll").getResultList();
	    
	}

	@Override
	public Departamento obtenerPorId(BigInteger id) {
		return em.find(Departamento.class, id);
	}

	@Override
	public void guardar(Departamento departamento) {
		EntityTransaction tx = em.getTransaction();
		tx.begin();
		em.persist(departamento);
		tx.commit();
	}

	@Override
	public void actualizar(Departamento e) {
		
		
	}
}
